GDK W32: Fix idiotic gdk_win32_display_get_monitor() implementation
authorРуслан Ижбулатов <lrn1986@gmail.com>
Fri, 20 Jan 2017 09:08:41 +0000 (09:08 +0000)
committerРуслан Ижбулатов <lrn1986@gmail.com>
Sat, 2 Dec 2017 10:38:22 +0000 (10:38 +0000)
Replace the code borrowed from the X11 backend with the code borrowed from Wayland backend. Now GTK doesn't crash when the number of monitors is zero.

gdk/win32/gdkdisplay-win32.c

index 4e11cd81a45c4d0a25143c1e1d37fb360651e065..ddc67672cda64d56a6bb2da6e364673fbb6c347f 100644 (file)
@@ -1095,10 +1095,10 @@ gdk_win32_display_get_monitor (GdkDisplay *display,
 {
   GdkWin32Display *win32_display = GDK_WIN32_DISPLAY (display);
 
-  if (0 <= monitor_num || monitor_num < win32_display->monitors->len)
-    return (GdkMonitor *) g_ptr_array_index (win32_display->monitors, monitor_num);
+  if (monitor_num < 0 || monitor_num >= win32_display->monitors->len)
+    return NULL;
 
-  return NULL;
+  return (GdkMonitor *) g_ptr_array_index (win32_display->monitors, monitor_num);
 }
 
 static GdkMonitor *